package com.sg.dto.biz.app.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * @desc QueryQuestionListComReqDto
 * @使用场景
 */
@Data
public class QueryQuestionListComReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 高/中/基层操作场景 TOP:高层 MID:中层 BASIC:基层 UCD:UCD框架
     */
    @ApiModelProperty("高/中/基层操作场景")
    private String batchOperateScene;

    /**
     * 问题提出类型筛选条件
     */
    @ApiModelProperty("问题提出类型筛选条件")
    private String questionProposeTypeScreen;

    /**
     * 问题视角筛选条件
     */
    @ApiModelProperty("问题视角筛选条件")
    private String questionAngleScreen;

    /**
     * 问题状态筛选条件
     */
    @NotNull(message = "问题状态筛选条件不能为空")
    @ApiModelProperty("问题状态筛选条件")
    private String questionStatusScreen;

    /**
     * 部门ID
     */
    @ApiModelProperty("中基层部门ID")
    private String deptId;

    /**
     * 创建人就职记录ID
     */
    @ApiModelProperty("创建人就职记录ID")
    private String createInductionId;

    /**
     * 虚拟组织成员就职记录ID
     */
    @ApiModelProperty("虚拟组织成员就职记录ID")
    private String virtualOrgInductionRecordId;

    /**
     * 身份人员ID
     */
    @ApiModelProperty("身份人员ID")
    private String originalRoleMemberId;

    /**
     * 是否直接干系人 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否直接干系人")
    private String isDirectStakeholders;

    /**
     * 问题编号
     */
    @ApiModelProperty("问题编号")
    private String questionNumber;

    /**
     * 问题文字简介
     */
    @ApiModelProperty("问题文字简介")
    private String questionIntroduce;

    /**
     * 问题等级 FATAL:致命 SERIOUS:严重 GENERAL:一般 TINY:微小
     */
    @ApiModelProperty("问题等级")
    private String questionLevel;

    /**
     * 是否私密 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否私密")
    private String isPrivate;

    /**
     * 冗余来源类型编码
     */
    @ApiModelProperty("冗余来源类型编码")
    private String sourceTypeCode;

    /**
     * 安排主体ID
     */
    @ApiModelProperty("安排主体ID")
    private String arrangeSubjectId;

    /**
     * 接收部门ID
     */
    @ApiModelProperty("接收部门ID")
    private String receiveSubjectId;

    /**
     * 归属对象ID
     */
    @ApiModelProperty("归属对象ID")
    private String coordObjectId;

    /**
     * 业务应用标识
     */
    @ApiModelProperty("业务应用标识")
    private String bizAppCode;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createTime;

}
